Transmission Control Protocol/Internet Protocol (TCP/IP) is a de facto protocol standard that is widely used by a large number of companies and users to connect computers and machines over the Internet. It was developed independent of any specific hardware platform or operating system. It is an open standard that can run over ethernet, token ring or any other underlying network. It also provides a common underlying addressing scheme that assigns each machine or host with a unique address.
One of the characteristics of a TCP protocol that impacts mobility is its ability to handle network congestion. Congestion on the Internet can occur when there is a large load at one or more of the switching centers or routers. The switch or router will then queue the in-coming packets until it can route them. If the congestion becomes severe, the number of packets in the queue will fill up until the queue becomes full. At this point arriving packets will be discarded. The end stations do not know why the packets they sent were lost. The lost packets are timed out and the end station re-transmits the packets. If the re-transmissions were left unchecked, the network becomes so severely congested that the network becomes useless, a condition called "network collapse."
Fortunately, TCP implements an algorithm called "multiplicative decrease" and "slow start" to avoid the congestion problem. Multiplicative decrease congestion avoidance, upon loss of a segment, reduces the congestion window by half from a default size (down to a minimum of at least one segment). For those segments that remain in the allowed window, the re-transmission timer is backed off exponentially. Comer, D. E., Internet working with TCP/IP, vol. 1, Principle, Protocols and Architectures, Englewood Cliffs, N.J.: Prentice-Hall, 1991. Because the window size is halved for each packet loss, the window decreases exponentially; the window size drops dramatically in a very short period of time when packets are timed out. As a result, this action relieves the pressure on the congested node.
Once congestion ends and packet acknowledgments (ACKs) are returned, TCP invokes the slow-start recovery. Slow-start (additive) recovery starts the congestion window at the size of a single segment and increases the congestion window by one segment each time an acknowledgment arrives whenever traffic is started on a new connection or traffic is increased after a period of congestion. Id.
This slow start algorithm is used to avoid flooding the network once a congestion condition has been rectified. Flooding the network can quickly cause the network to become congested once again. Each time the transmitter receives an ACK from the receiver, the transmitter increments the window size until the window size reaches half the maximum limit. At this point, TCP slows down the growth of the window by incrementing the window size only when all packets in a given window have been acknowledged. This phase of recovery is called "the congestion avoidance phase."
Reliable transport protocols such as TCP are great for "wired" networks with stationary stations, but have problems when used in a mobile environment.